summaryrefslogtreecommitdiffstats
path: root/samloader/versionfetch.py
diff options
context:
space:
mode:
Diffstat (limited to 'samloader/versionfetch.py')
-rw-r--r--samloader/versionfetch.py17
1 files changed, 10 insertions, 7 deletions
diff --git a/samloader/versionfetch.py b/samloader/versionfetch.py
index b8f150c..e758867 100644
--- a/samloader/versionfetch.py
+++ b/samloader/versionfetch.py
@@ -6,6 +6,15 @@
import xml.etree.ElementTree as ET
import requests
+def normalizevercode(vercode: str) -> str:
+ """ Normalize a version code to four-part form. """
+ ver = vercode.split("/")
+ if len(ver) == 3:
+ ver.append(ver[0])
+ if ver[2] == "":
+ ver[2] = ver[0]
+ return "/".join(ver)
+
def getlatestver(model: str, region: str) -> str:
""" Get the latest firmware version code for a model and region. """
req = requests.get("https://fota-cloud-dn.ospserver.net/firmware/" \
@@ -15,10 +24,4 @@ def getlatestver(model: str, region: str) -> str:
vercode = root.find("./firmware/version/latest").text
if vercode is None:
raise Exception("No latest firmware found")
- # Normalize retrieved version
- ver = vercode.split("/")
- if len(ver) == 3:
- ver.append(ver[0])
- if ver[2] == "":
- ver[2] = ver[0]
- return "/".join(ver)
+ return normalizevercode(vercode)